Method and apparatus for calendared communications flow control

ABSTRACT

Methods and apparatus for forwarding communications, such as telephone calls over a voice network, are provided. A user accesses a data network to specify one or more rules for forwarding telephone calls. For example, the user may use an electronic calendar to specify patterns for forwarding their telephone calls. These patterns may include one or more rules for determining a forwarding pattern, and one or more time periods specifying when the pattern is effective. The rules are provided to a service center which provides configuration information to the voice network. The voice network then forwards calls based on the configuration information for the time periods specified by the user.

RELATED APPLICATIONS

[0001] Applicants claim the right to priority under 35 U.S.C, § 119(e) based on Provisional Patent Application No. 60/272,122, entitled “VOICE MAIL INTEGRATION WITH INSTANT MESSENGER,” filed Feb. 27, 2001; Provisional Patent Application No. 60/272,167, entitled “DEVICE INDEPENDENT CALLER ID,” filed Feb. 27, 2001; Provisional Patent Application No. 60/275,667, entitled “CALENDAR CALLING AGENT,” filed Mar. 13, 2001; Provisional Patent Application No. 60/275,719, entitled “CALENDAR CALLING AGENT,” filed Mar. 13, 2001; Provisional Patent Application No. 60/275,020, entitled “METHOD AND APPARATUS FOR INTEGRATED BILLING VIA PDA,” filed Mar. 13, 2001; Provisional Patent Application No. 60/275,031, entitled “METHOD AND APPARATUS FOR UNIFIED COMMUNICATIONS MANAGER VIA INSTANT MESSAGING,” filed Mar. 13, 2001; and Provisional Patent Application No. 60/276,505, entitled “METHOD AND APPARATUS FOR CONTEXT BASED QUERYING,” filed Mar. 19, 2001, and all of which are expressly incorporated herein by reference in their entirety.

[0002] The present application also relates to U.S. Patent Application No. ( ______ ), entitled “VOICE MAIL INTEGRATION WITH INSTANT MESSENGER,” Attorney Docket No. 01-1001; U.S. Patent Application No. ( ______ ), entitled “DEVICE INDEPENDENT CALLER ID,” Attorney Docket No. 01-1002; U.S. patent application No. ( ______ ), entitled “METHOD AND APPARATUS FOR A UNIFIED COMMUNICATION MANAGEMENT VIA INSTANT MESSAGING,” Attorney Docket No. 01-1004; U.S. patent application No. ( ______ ), entitled “METHOD AND APPARATUS FOR CONTEXT BASED QUERYING,” Attorney Docket No. 01-1005; U.S. patent application No. ( ______ ), entitled “CALENDAR-BASED CALLING AGENTS,” Attorney Docket No. 01-1008; U.S. patent application No. ( ______ ) entitled “METHOD AND APPARATUS FOR INTEGRATED BILLING VIA PDA,” Attorney Docket No. 01-1010; and U.S. patent application No. ( _______ ), entitled “METHOD AND APPARATUS FOR DIAL STREAM ANALYSIS,” Attorney Docket No. 01-1013, and all of which are expressly incorporated herein by reference in their entirety.

FIELD OF THE INVENTION

[0003] The present invention relates to systems and methods for controlling telephony systems using data processing systems and, more particularly, to controlling call forwarding features within a telecommunications system based on information stored in an electronic calendar system. Background of the Invention

[0004] A person or user (“user”) may conduct communications in a variety of ways. For example, the user may conduct telephone calls via a home phone, work phone, and/or mobile phone. As the user changes location, the most appropriate way to reach that user may vary. For example, the user may be reached only at a mobile phone while on travel, or only at an office phone while at work. Typically, the user must individually configure multiple sets of call forwarding rules for each of his phones separately.

[0005] Unfortunately, maintaining multiple sets of call forwarding rules is difficult and prone to error. For example, although conventional systems allow a user to specify and associate multiple telephone devices with a particular number, the user must configure sets of rules to specify an order in which to try each number, such as a home number, and then a mobile phone number. However, the user may change locations frequently over a period of time and, thus, the user must frequently modify their call forwarding rules. This may cause one or more sets of call forwarding rules to become obsolete. In addition, the user may forget to update one or more sets of their call forwarding rules. The user may be unaware that telephone calls are being forwarded to an inappropriate location. Accordingly, the user may not receive one or more of their telephone calls.

[0006] Therefore, it would be desirable to provide methods and apparatus which overcome these and other shortcomings of the prior art.

SUMMARY OF THE INVENTION

[0007] In accordance with an aspect of the present invention, methods and apparatus for configuring communications in a voice network via a data network are provided. At least one pattern for forwarding communications in the voice network is received in a calendar via the data network. A time period for the at least one pattern is determined based on the calendar. The voice network is then configured based on the at least one pattern and the time period.

[0008] In accordance with another aspect of the present invention, methods and apparatus for providing an interface for specifying at least one pattern for forwarding communications in a voice network are provided. A calendar including a plurality of time periods is provided. In the calendar, information identifying a pattern for forwarding communications in the voice network is received. At least one of the plurality of time periods that the pattern is in effect is then determined.

[0009] In accordance with another aspect of the present invention, methods and apparatus for forwarding communications in a voice network are provided. Information indicating a pattern for forwarding communications in a time period of a calendar is received via a data network. A communications request to a destination in the pattern is received. The communications request is then forwarded to at least one other destination in the pattern based on the time period in the calendar.

[0010] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. In the drawings,

[0012]FIG. 1 is a block diagram of a data processing and telecommunications environment, in accordance with methods and apparatus consistent with the principles of the present invention;

[0013]FIG. 2 is a block diagram of a data terminal, in accordance with methods and apparatus consistent with the principles of the present invention;

[0014]FIGS. 3a-3 f are exemplary screen shots of a user interface for forwarding communications, in accordance with methods and apparatus consistent with the principles of the present invention;

[0015]FIG. 4 is a block diagram of a service center, in accordance with methods and apparatus consistent with the principles of the present invention;

[0016]FIGS. 5a-5 b are exemplary tables used for forwarding communications, in accordance with methods and apparatus consistent with the principles of the present invention;

[0017]FIG. 6 is a block diagram of a voice network, in accordance with methods and apparatus consistent with the principles of the present invention; and

[0018]FIG. 7 is a flow diagram illustrating a process for forwarding communications, in accordance with methods and apparatus consistent with the principles of the present invention.

DETAILED DESCRIPTION

[0019] Methods and apparatus for forwarding communications, such as telephone calls over a voice network, are provided. A user accesses a data network to specify one or more rules for forwarding telephone calls. For example, the user may use an electronic calendar to specify patterns for forwarding their telephone calls. These patterns may include one or more rules for determining a forwarding pattern, and one or more time periods specifying when the pattern is effective. The rules are provided to a service center which provides configuration information to the voice network. The voice network then forwards calls based on the configuration information for the time periods specified by the user.

[0020] Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

[0021]FIG. 1 is a block diagram of a data processing and telecommunications environment, in accordance with methods and apparatus consistent with the principles of the present invention. The data processing and telecommunications environment 100 may include a data network 102, a voice network 104, a service center 106, and a service center database 108. As shown, a user 110 may use a data terminal 112 to interface with data network 102. In addition, user 110 may use phones 114, 116, and 118 to interface with voice network 104. For example, calling party 120 may use phone 122 to call user 110 at any one of phones 114, 116, and 118.

[0022] Data network 102 provides communications between the various entities depicted in environment 100 of FIG. 1, such as data terminal 112 and service center 106. Data network 102 may be a shared, public, or private network and encompass a wide area or local area. For example, data network 102 may be implemented on a network, such as the Internet.

[0023] Voice network 104 provides telephony services, for example, to allow calling party 120 to place a telephone call to user 110. For example, voice network 104 may be implemented using a network, such as the Public Switched Telephone Network (“PSTN”). Alternatively, voice network 104 may be implemented using voice-over Internet Protocol (“VoIP”) technology. In addition, voice network 104 may be implemented using both the PSTN and VoIP technology consistent with the principles of the present invention. Voice network 104 is described in further detail with reference to FIG. 6.

[0024] Service center 106 provides a platform for managing communications over data network 102 and voice network 104. In addition, service center 106 provides gateway functions, such as code and protocol conversions, to transfer communications between data network 102 and voice network 104. Service center 106 may be implemented using a combination of hardware and software. For example, service center 106 may be implemented using a plurality of a general purpose computers or servers coupled by a network (not shown). Although service center 106 is shown with direct connections to data network 102 and voice network 104, any number and type of network elements may be interposed between service center 106, data network 102, and voice network 104. Service center 106 is described in further detail with reference to FIG. 4.

[0025] Service center database 108 contains information regarding user 110. For example, service center database 108 may contain information including, an identifier for user 110, a password, one or more email addresses for user 110, one or more instant messaging identifiers for user 110, and one or more telephone numbers, such as for phones 114, 116, and 118. Additionally, service center database 108 may contain configuration information that indicate rules for how and when communications are forwarded, such as telephone calls over voice network 104. Service center database 108 may be implemented as an Oracle™ database using a combination of known hardware and software, such as Proliant™ servers and EMC storage devices.

[0026] Data terminal 112 provides user 110 an interface to data network 102. For example, data terminal 112 may be implemented using any device capable of accessing the Internet, such as a general purpose computer or personal computer equipped with a modem. Data terminal 112 may also be implemented in other devices, such as the Blackberry™, and Ergo Audrey™. Furthermore, data terminal 112 may be implemented in wireless devices, such as pagers, mobile phones (with data access functions), and Personal Digital Assistants (“PDA”) with network connections.

[0027] Data terminal 112 also allows user 110 to communicate with service center 106. For example, user 110 may use instant messaging (“IM”) to communicate with service center 106. IM is a communications service implemented over the Transmission Control Protocol and Internet Protocol (“TCP/IP”) suite to create a private communication channel. Although there is no accepted universal IM standard, an appropriate IM model may be found in RFC 2778, M. Day et al., The Internet Society (2000), titled “A Model for Presence and Instant Messaging,” which describes, inter alia, a model for providing instant messaging services. There are several known IM systems including America OnLine Instant Messenger (“AIM”) and Microsoft Network Messenger Service (“MSNMS”). In addition to IM services, data terminal 112 may use other aspects of TCP/IP including the hypertext transfer protocol (“HTTP”); the user datagram protocol (“UDP”); the file transfer protocol (“FTP”); the hypertext markup language (“HTML”); and the extensible markup language (“XML”).

[0028] Data terminal 112 may communicate directly with service center 106. For example, a client application may be installed on data terminal 112, which directly communicates with service center 106. Alternatively, data terminal 112 may communicate with service center 106 via proxy 124. Data terminal 112 is described in further detail with reference to FIG. 2.

[0029] Proxy 124 provides an intermediate communications service for data terminal 112 and service center 106. Proxy 124 may act on behalf of user 110 to interface service center 106 and provides functions, such as authentication services, and protocol translation services. For example, user 110 may be a MSNMS subscriber and proxy 124 may be a MSNMS server. User 110 may then use MSNMS IM services to indirectly interface service center 106. As another example, proxy 124 may be a web site. User 110 may provide information, such as information for call forwarding patterns, to proxy 124 via web pages and secured using secured sockets layer (“SSL”). Proxy 124 may then establish an SSL session with service 106 and provide the information from user 110.

[0030] Phones 114, 116, 118, and 122 interface voice network 104. Phones 114, 116, 118, and 122 may be implemented using known devices, including wireline phones and mobile phones, such as wireless phones. Although phones 114, 116, 118, and 122 are shown directly connected to voice network 104, any number of intervening elements, such as a private branch exchange (“PBX”), may be interposed between phones 114, 116, 118, and 122 and voice network 104.

[0031]FIG. 2 is a block diagram of a data terminal, in accordance with methods and apparatus consistent with the principles of the present invention. As shown, data terminal 112 includes a central processing unit (CPU) 200, a memory 202, a storage module 204, a network interface 206, an input interface 208, an output interface 210, an input device 216, and an output device 218.

[0032] CPU 200 provides control and processing functions for data terminal 112. Although FIG. 2 illustrates a single CPU, data terminal 112 may include multiple CPUs. CPU 200 may also include, for example, one or more of the following: a co-processor, memory, registers, and other processing devices and systems as appropriate. For example, CPU 200 may be implemented using a Pentium™ processor provided from Intel Corporation.

[0033] Memory 202 provides a primary memory for CPU 200, such as for program code. Memory 202 may be embodied with a variety of components of subsystems, including, a random access memory (“RAM”), and a read-only memory (“ROM”). For example, when data terminal 112 executes an application installed in storage module 204, CPU 200 may download at least a portion of the program code from storage module 204 into memory 308. As CPU 200 executes the program code, CPU 200 may also retrieve additional portions of program code from storage module 204.

[0034] Storage module 204 provides mass storage for data terminal 112. Storage module 204 may be implemented with a variety of components or subsystems including, for example, a hard drive, an optical drive, a general-purpose storage device, a removable storage device, and/or other devices capable of storing information. Further, although storage module 204 is shown within data terminal 112, storage module 204 may be implemented external to data terminal 112.

[0035] Storage module 204 includes program code and information for data terminal 112 to communicate with service center 106. Storage module 204 includes program code for a calendar application 216, such as GroupWise provided by Novell Corporation, or Outlook provided by Microsoft Corporation; a client application 214, such as a MSNMS client, or AIM client; and an Operating System (OS) 216, such as the Windows Operation System provided by Microsoft Corporation. In addition, storage module 204 may include other program code and information (not shown), such as program code for TCP/IP communications; kernel and device drivers; configuration information, such as a Dynamic Host Configuration Protocol (DHCP) configuration; a web browser, such as Internet Explorer provided by Microsoft Corporation, or Netscape Navigator provided by Netscape Corporation; and any other software that may be installed on data terminal 112.

[0036] Network interface 206 provides a communications interface between data terminal 112 and data network 102. Network interface 206 may receive and transmit communications for data terminal 112. For example, network interface 206 may be a modem, or a local area network (“LAN”) port.

[0037] Input interface 208 receives input from user 110 via input device 212 and provides the input to CPU 200. Input device 212 may include, for example, a keyboard, a microphone, and a mouse. Other types of input devices may also be implemented consistent with the principles of the present invention.

[0038] Output interface 210 provides information to user 110 via output device 214. Output device 214 may include, for example, a display, a printer, and a speaker. Other types of output devices may also be implemented consistent with the principles of the present invention.

[0039]FIGS. 3a-3 f are exemplary screen shots of a user interface for forwarding communications, in accordance with methods and apparatus consistent with the principles of the present invention. As shown in FIG. 3a, a screen shot 300 at portion 302 indicates that a call forwarding pattern named “AT_HOME” is currently in effect. In addition, at button 304, user 110 may select a “REACH ME” tool to select various options for specifying call forwarding patterns.

[0040] As shown in FIG. 3b, a screen shot 300 shows that user 110 may activate a call forwarding pattern at option 306. For example, user 110 has a “HOME” phone number of “972 679 4771” and has activated call forwarding.

[0041] As shown in FIG. 3c, a screen shot 310 shows that user 110 may display a summary window 312 listing a name and number for his phones. Screen shot 310 also includes a summary window 314 to list a summary of call forwarding patterns created for user 110. For example, summary window 314 indicates that user 110 has call forwarding patterns named “AT HOME”, “AT WORK”, and “TRAVEL.” Furthermore, the “AT HOME” call forwarding pattern specifies that the home phone be allowed to ring four times and then a call is forwarded to a cell phone and allowed to ring four times again.

[0042]FIG. 3d shows screen shot 310 with a pop-up window 316. Pop-window 316 allows user 110 to add a new device, such as a new phone.

[0043]FIG. 3e shows screen shot 310 with a pop-up window 318. Pop-up window 318 allows user 110 to add a new call forwarding pattern.

[0044]FIG. 3f shows a screen shot of a calendar interface 320 associating call forwarding patterns and time periods. For example, calendar interface 320 includes a time section 322, an appointments section 324, and a forwarding pattern section 326. As shown in FIG. 3f, user 110 has specified the “AT HOME” pattern for the time period before 8:00 AM. In addition, since user 110 has a client meeting indicated in appointments section 324, user 110 has specified the “TRAVEL” pattern for the time period from 8:00 AM to 12:00 PM. Furthermore, user 110 has specified the “AT WORK” pattern for 12:00 PM to 5:00 PM, and the “AT HOME” pattern for 5:00 PM to 9:00 PM.

[0045]FIG. 4 is a block diagram of a service center, in accordance with methods and apparatus consistent with the principles of the present invention. As shown, service center 106 includes firewalls 400 and 402, a data interface server 404, a management server 406, a voice interface server 408, and a calendar server 410.

[0046] Firewalls 400 and 402 provide security services for communications between service center 106 and data network 102, and between service center 106 and voice network 104, respectively. For example, firewalls 400 and 402 may restrict communications between data terminal 112 and one or more servers within service center 106. Any security policy may be implemented in firewalls 400 and 402 consistent with the principles of the present invention. Firewalls 400 and 402 may be implemented using a combination of known hardware and software, such as the Raptor Firewall provided by the Axent Corporation. Furthermore, firewalls 400 and 402 may be implemented as separate machines within service center 106, or implemented on one or more machines external to service center 106.

[0047] Data interface server 404 provides interface services between service center 106 and data terminal 112. For example, data interface server 404 may exchange TCP/IP communications, such as IM communications or XML information which include call forwarding patterns from user 110. Data interface server 404 may also interface proxy 124 to indirectly exchange communications with data terminal 112.

[0048] Management server 406 controls operation of service center 106 and provides access services to service center database 108. For example, management server 406 may store information, such as call forwarding patterns, received from data interface server 404 into service center database 108. Management server 406 may also service queries to service center database 108, for example, from data interface server 404 or voice interface server 408.

[0049] Voice interface server 408 provides interface services between service center 106 and voice network 104. For example, voice interface server 408 may exchange information, such as call forwarding patterns, between service center database 108 and voice network 104. Voice interface server 408 may provide the information to voice network 104 using one or more protocols. For example, voice interface server 408 may use TCP/IP, or the Signaling System 7 (“SS7”) protocol.

[0050] SS7 is a telecommunications protocol defined by the International Telecommunication Union (“ITU”). SS7 is an “out-of-band” signaling protocol using a system of nodes called Service Switching Points (“SSP”), Signal Transfer Points (“STP”), and Service Control Points (“SCP”). “Out-of-band signaling” is signaling that does not take place over the same path between switching elements as the connection, and instead uses separate digital channels between SS7 nodes. SS7 allows voice network 104 to provide enhanced functions, such as call forwarding; caller-ID; three-way calling; wireless services such as roaming and mobile subscriber authentication; local number portability; and toll-free/toll services.

[0051] Calendar server 410 provides services to calendar application 220 on data terminal 112. For example, calendar server 41 0 may provide email services, directory services, and calendar information, such as schedule information, to data terminal 112. Calendar server 410 may operate in conjunction with data interface server 404 to exchange, for example, call forwarding patterns with data terminal 112.

[0052] Although FIG. 4 shows separate servers within service center 106, service center 106 may be implemented using any combination of hardware and software. For example, service center 106 may implement data interface server 404, management server 406, voice interface server 408, and calendar server 410 as software applications installed on a single machine. In addition, service center 106 may access one or more servers remotely across a network.

[0053]FIG. 5a is an exemplary table illustrating configuration information for a user, in accordance with methods and apparatus consistent with the principles of the present invention. As shown, a table 500 includes a device name column 502 and an address column 504. Table 500 is stored at data terminal 112, such as in storage module 204, and service center database 108.

[0054] Device name column 502 includes information for identifying a particular device, such as phones 114, 116, and 118. User 110 may select any combination of text and numerals to identify a particular device. For example, user 110 may identify phone 114 as “Home,” phone 116 as “Office,”, and phone 118 as “Mobile.” In addition, device name column 502 may include information selected by service center 106. For example, management server 406 may provide a proposed “default” name for a particular device.

[0055]FIG. 5b is an exemplary table illustrating rules and associated calendar data for forwarding communications, in accordance with methods and apparatus consistent with the principles of the present invention. As shown, a table 506 includes a pattern name column 508, a start date column 510, a start time column 512, an end data column 514, an end time column 516, a source identifier column 518, a destination identifier column 520, and a forwarding destination column 522. Table 506 is stored at data terminal 112, such as in storage module 204, and in service center database 108.

[0056] Pattern name column 508 includes information for identifying a particular forwarding pattern. User 110 may select any combination of text or numerals to identify a particular forwarding pattern. For example, user 110 may use “At Work” to identify a particular forwarding pattern for use during working hours, such as 9:00 AM to 5:00 PM. In addition, pattern name column 508 may include information selected by service center 106. For example, management server 406 may provide a default name for a particular forwarding pattern, such as “placeholder.”

[0057] Start date column 510 and start time column 512 includes information indicating a start date and time for when a particular forwarding pattern is in effect. End date column 514 and end time column 516 includes information indicating an end date and time for when the particular forwarding pattern expires.

[0058] Source identifier column 518 includes information identifying a source of a communication, such as a telephone call. For example, source identifier column 518 may include the phone number for phone 122. Alternatively, source identifier column 518 may include information identifying calling party 120.

[0059] Destination identifier column 520 includes information identifying a destination of a communication, such as a telephone call. For example, destination identifier column 520 may include respective phone numbers for phones 114, 116, and 118.

[0060] Forwarding destination column 522 includes information identifying where a communication, such as a telephone call, is forwarded. For example, forwarding destination column 522 may indicate the phone number for phone 118 as a forwarding destination.

[0061]FIG. 6 is a block diagram of a voice network, in accordance with methods and apparatus consistent with the principles of the present invention. As shown, voice network 104 includes a service control point (“SCP”) 600, service transfer points (“STP”) 602 and 604, service switching points (“SSP”) 606, 608, 610, and 612, and a configuration database 614.

[0062] Voice network 104 may be implemented using the PSTN and SS7 as a signaling protocol. As noted above, the SS7 protocols allows voice network 104 to provide features, such as call forwarding; caller-ID; three-way calling; wireless services such as roaming and mobile subscriber authentication; local number portability; and toll-free/toll services. The SS7 protocol provides various types of messages to support the features of voice network 104. For example, these SS7 messages may include Transaction Capabilities Applications Part (“TCAP”) messages to support event “triggers,” and queries and responses between SCP 600 and SSPs 606, 608, 610, and 612.

[0063] SCP 600 provides interface services into configuration database 614 related to processing of calls within voice network 104, and interface services between voice interface server 408. SCP 600 provides translation and routing services of SS7 messages to support the features of voice network 104, such as call forwarding. In addition, SCP 600 may exchange information voice interface server 408 in service center 106 using TCP/IP or SS7. For example, SCP 600 may receive configuration information from voice interface terminal 408 which requests one or more call forwarding patterns in voice network 104. SCP 600 may then configure the call forwarding patterns in voice network 104 using one or more SS7 messages, such as TCAP messages, to set triggers in SSPs 606, 608, 610, and 612.

[0064] SCP 600 may be implemented using a combination of known hardware and software. Although SCP 600 is shown with a direct connection to service center 106, any number of network elements including routers, switches, hubs, etc. may be used to connect SCP 600 and service center 106.

[0065] STPs 602 and 604 relay SS7 messages within voice network 104. For example, STP 602 may route SS7 messages between SSPs 606, 608, 610, and 612. STP 602 and 604 may be integrated as adjunct to an SSP, e.g., SSPs 606, 608, 610, and 612, or may be implemented as a separate machine. In addition, STP 602 and 604 may provide security functions, such as security checks on incoming/outgoing SS7 messages. STP 602 may also provide other functions, such as acquisition and storage of traffic/usage statistics. STP 602 may be implemented using known hardware and software from manufacturers such as NORTEL™ and LUCENT Technologies ™.

[0066] SSPs 606, 608, 610, and 612 provide an interface between voice network 104 and phones 114, 116, 118, and 122, respectively, to setup, manage, and release telephone calls within voice network 104. SSPs 606, 608, 610, and 612 may be implemented as a voice switch, an SS7 switch, or a computer connected to a switch. SSPs 606, 608, 610, and 612 exchange SS7 signal units to support a telephone call between calling party 120 and user 110. For example, SSPs 606, 608, 610, and 612 may exchange SS7 messages, such as TCAP messages, within message signal units (“MSU”) to control calls, perform database queries to configuration database 614, and provide maintenance information.

[0067] Configuration database 614 comprises one or more known databases to support the features of voice network 104. For example, configuration database 614 may include a call management service database; a line information database (LIDB); a business services database; a home location register; and a visitor location register.

[0068]FIG. 7 is a flow diagram illustrating a process for providing configuration information to a voice network, in accordance with methods and apparatus consistent with the principles of the present invention. In stage 702, service center 106 receives one or more call forwarding patterns. For example, user 110 may run client application 218 and calendar application 220 on data terminal 112. User 110 may then navigate one or more screens, such as screen shots 300, 306, 310, and calendar interface 320, to specify the call forwarding patterns. Data interface terminal may store information for the call forwarding patterns using tables 500 and 506. Data terminal 112 then provides the call forwarding patterns to service center 106. For example, data terminal 112 may provide tables 500 and 506 to service center 106 (directly or via proxy 124) using TCP/IP communications, such as IM or XML.

[0069] In stage 704, service center 106 updates service center database 108. For example, data interface server 404 may receive the call forwarding patterns from data terminal 112. Data interface server 404 may then operate in conjunction with calendar server 410 to read the information in tables 500 and 506. Data interface server 404 provides the information in tables 500 and 506 to management server 406 which stores the information in service center database 108.

[0070] Based on information in table 506, such as information in start date column 510 and start time column 512 column, calendar server 410 creates an event trigger to configure the call forwarding pattern in voice network 104. Calendar server 410 may also create event triggers based on information in end date column 514 and end time column 516 to expire a call forwarding pattern and/or configure a new call forwarding pattern in voice network 104.

[0071] In stage 706, service center 106 provides one or more call forwarding requests to voice network 104. For example, upon reaching an event trigger, calendar server 410 may cause management server 406 to provide call forwarding information to voice interface server 408. The call forwarding information includes information from table 500, such as information from device column 502, and address column 504, as well as information from table 506, such as source column 518, destination column 520, and forwarding column 522. Voice interface server 408 may then form a call forwarding request, such as an SS7 TCAP message, and provide the request to SCP 600 in voice network 104. For example, the call forwarding request may request that calls to phone 114, e.g., a home phone for user 110, be forwarded to phone 118, e.g., a mobile phone for user 110.

[0072] Alternatively, the call forwarding request may also include information in start date column 510, start time column 512, end date column 514, and end time column 516. SCP 600 may then determine a time period for when the call forwarding request is in effect.

[0073] In stage 708, voice network 104 is configured to forward calls based on the call forwarding request. For example, SCP 600 may receive the SS7 TCAP message from voice interface server 408. SCP 600 may query configuration database 614 to determine whether SSPs 606, 608, 610, and 612 are associated with the call forwarding request. SCP 600 may then send one or more SS7 TCAP messages to one or more of SSPs 606, 608, 610, and 612 to configure a call forwarding trigger, such as an SS7 termination attempt trigger (“TAT”).

[0074] For example, for the above call forwarding request, SCP 600 may configure a TAT in SSP 606. When calling party 120 uses phone 122 to call user 110 at phone 114, SSP 612 sends SS7 messages to SSP 606 to request a connection. SSP 606 determines that a TAT was configured for phone 114 and sends a query to SCP 600 to request instructions on how to process the call attempt to phone 114. SCP 600 queries configuration database 614 and determines that call attempts to phone 114 are forwarded to phone 118 via SSP 610. SCP 600 then instructs SSP 606 to forward the call attempt to SSP 610 which subsequently forwards the call attempt to phone 118.

[0075] Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims. 

What is claimed is:
 1. A method of configuring communications in a voice network via a data network, comprising: receiving, via the data network, at least one pattern in a calendar for forwarding communications in the voice network; determining a time period for the at least one pattern based on the calendar; and configuring the voice network based on the at least one pattern and the time period.
 2. The method of claim 1, further comprising: forwarding communications in the voice network based on the at least one pattern and the time period.
 3. The method of claim 1, wherein receiving at least one pattern for forwarding communications in a calendar comprises receiving information indicating a call forwarding sequence in the voice network.
 4. The method of claim 1, wherein configuring the voice network based on the at least one pattern and the time period comprises setting an event trigger in the voice network based on the at least pattern and the time period.
 5. A method of providing an interface for specifying at least one pattern for forwarding communications in a voice network, the method comprising: providing a calendar-based form including a plurality of time periods; receiving, in the calendar-based form, information identifying a pattern for forwarding communications in the voice network; and determining at least one of the plurality of time periods that the pattern is in effect.
 6. The method of claim 9, further comprising: providing the pattern and the at least one time period to the voice network.
 7. A method of forwarding communications in a voice network, comprising: receiving, via a data network, information indicating a pattern for forwarding communications in a time period of a calendar; receiving a communications request to a destination in the pattern; and forwarding the communications request to at least one other destination in the pattern based on the time period in the calendar.
 8. Apparatus for configuring communications in a voice network via a data network, comprising: means for receiving, via the data network, at least one pattern for forwarding communications in a calendar; means for determining a time period for the at least one pattern based on the calendar; and means for configuring the voice network based on the at least one pattern and the time period.
 9. The apparatus of claim 8, further comprising: means for forwarding communications in the voice network based on the at least one pattern and the time period.
 10. The apparatus of claim 8, wherein the means for receiving at least one pattern for forwarding communications in a calendar comprises means for receiving information indicating a call forwarding sequence in the voice network.
 11. The apparatus of claim 8, wherein the means for configuring the voice network based on the at least one pattern and the time period comprises means for setting an event trigger in the voice network based on the at least pattern and the time period.
 12. Apparatus for providing an interface for specifying a pattern for forwarding communications in a voice network, comprising: means for providing a calendar including a plurality of time periods; means for receiving, in the calendar, information identifying a pattern for forwarding communications in the voice network; and determining at least one of the plurality of time periods that the pattern is in effect.
 13. Apparatus for forwarding communications in a voice network, comprising: means for receiving, via a data network, information indicating a pattern for forwarding communications in a time period of a calendar; means for receiving a communications request to a destination in the pattern; and means for forwarding the communications request to at least one other destination in the pattern based on the time period in the calendar.
 14. A computer readable medium comprising computer program code capable of configuring a user device to perform a method of configuring communications in a voice network via a data network, the method comprising: receiving, via the data network, at least one pattern for forwarding communications in the voice network in a calendar; determining a time period for the at least one pattern based on the calendar; and configuring the voice network based on the at least one pattern and the time period.
 15. A computer readable medium comprising computer program code capable of configuring a user device to perform a method of providing an interface for specifying at least one pattern for forwarding communications in a voice network, the method comprising: providing a calendar including a plurality of time periods; receiving, in the calendar, information identifying a pattern for forwarding communications in the voice network; and determining at least one of the plurality of time periods that the pattern is in effect.
 16. A computer readable medium comprising computer program code capable of configuring a user device to perform a method of forwarding communications in a voice network, comprising: receiving, via a data network, information indicating a pattern for forwarding communications in a time period of a calendar; receiving a communications request to a destination in the pattern; and forwarding the communications request to at least one other destination in the pattern based on the time period in the calendar. 